/*
  破解密码
  题目描述
    可多找到了一个宝箱，宝箱需要密码才能打开。
    密钥提示如下：
      a * a * a + b * b * b + c * c * c = 3 * a * b * c + D，
      满足该等式的 a、b、c 中 a + b + c 的最小值就是密码。
      其中 D 是一个已知的正整数。
    请根据输入的 D，帮助可多破解密码吧。
  输入描述
    输入一个正整数 D，输入保证有解。（1 < D <= 500）
  输出描述
    输出一个正整数，按照规则破解出的密码。
  样例1
    输入
      351
    输出
      39
  提示
    a、b、c 都是正整数且不超过 500。
*/

#include <iostream>

using namespace std;

int main() {
    int D;
    int minn = 1e9; // 说明: 1e9 表示 10 的 9 次方

    cin >> D;

    for (int i = 500 ; i >= 1; i--) {
        for (int j = 500; j >= 1; j--) {
            for(int k = 500; k >= 1; k--) {
                if (i * i * i + j * j * j + k * k * k == 3 * i * j * k + D) {
                    if (i + j + k < minn) {
                        minn = i + j + k;
                    }
                }
            }
        }
    }
    cout << minn;

    return 0;
}